﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace ThridGroup.ERP.WarehouseManagement
{
    /// <summary>
    /// 库存现有量实体
    /// </summary>
    [Table("Inventory")]
    public class InventoryModel : Entity<int>
    {
        /// <summary>
        /// 产品物料编号
        /// </summary>
        public string ProductMaterielCode { get; set; }

        /// <summary>
        /// 产品物料名称
        /// </summary>
        public string ProductMaterielName { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        public string Specifications { get; set; }

        /// <summary>
        /// 在库数量
        /// </summary>
        public decimal QuantityInStock { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 入库批次号
        /// </summary>
        public string InboundBatchNumber { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string WarehouseName { get; set; }

        /// <summary>
        /// 库区
        /// </summary>
        public string WarehouseArea { get; set; }

        /// <summary>
        /// 库位
        /// </summary>
        public string WarehouseLocation { get; set; }

        /// <summary>
        /// 供应商编号
        /// </summary>
        public string SupplierCode { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string SupplierName { get; set; }

        /// <summary>
        /// 供应商简称
        /// </summary>
        public string SupplierAbbreviation { get; set; }

        /// <summary>
        /// 生产工单
        /// </summary>
        public string ProductionWorkOrder { get; set; }

        /// <summary>
        /// 入库日期
        /// </summary>
        public DateTime? InboundDate { get; set; }

        /// <summary>
        /// 库存有效性
        /// </summary>
        public bool InventoryValidity { get; set; } = true;

        /// <summary>
        /// 物料分类ID
        /// </summary>
        public int MaterialTypeId { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; } = false;
    }
}
